This invention relates to signal processing. More specifically, this invention relates to improving performance and reducing die space of a DAC.
Typically, high-accuracy signal processors that utilize analog switches face a common problem. Each analog switch includes a resistance, e.g., about 50 ohms, which tends to affect the accuracy of the output signal as a function of the input signal.
To better understand this problem as it occurs in DACs, a short introduction to DACs will be presented. Then, the relationship between the problem stated above and DACs will be discussed.
DACs translate binary signals from computers or other discrete circuitry into proportional analog-voltage levels. DACs are commonly used to drive analog devices such as meters, motor controllers, or audio circuitry.
The binary-weighted resistor-string DAC is the simplest method of converting digital bits from a digital signal into an analog signal. For the circuit 100 shown in FIG. 1, a binary signal is applied to gating circuits 118 that drive analog switches 102, 104, 106 and 108. When a binary signal of 0000 is applied to the switches, all the switches are open so no voltage is applied to the op-amp 122. At this point, the output is 0 volts. When a 0001 binary signal is applied, switch 102 closes and -10 volts is applied to resistor 110. Because the input of op-amp 122 represents virtual ground, there is 10 volts across the 8000 ohm resistor 110. That causes 10 V/8000 ohm, or 1.25 milliamps, to flow through the 800 ohm feedback resistor 120. By Ohm's law, the voltage across resistor 120 would be 800 ohm.times.1.25 milliamps, or 1 volt.
When the binary signal changes to 0010, switch 102 opens and switch 104 closes. That causes 2.5 milliamps (10 volts/4000 ohms) to flow through resistor 120. The voltage across resistor 120 is then 800 ohms.times.2.5 milliamps, or 2 volts. A binary 0100 would create 4 volts at the output, and so on.
A resistor-string DAC is not practical, however, for applications requiring much more than 4 bits of resolution because the range of resistor values required is very large and difficult to fabricate accurately. An R-2R ladder network has become the DAC of choice, therefore, in most applications.
The R-2R ladder network is capable of producing binary-weighted voltages with resistors having only two different values of resistance arranged in a type of network known as a binary ladder, shown in FIG. 2. In this circuit, a series of latches 240 are used to drive analog switches 202, 204, 206 and 208.
The R-2R ladder operates such that, when an individual switch is closed, each "rung" on the R-2R ladder delivers a current to the virtual ground node. Because of the arrangement of resistors 210, 212, 214, 216, 218, 220, 222 and 224, the current delivered by each successive rung is binarily weighted. Thus, each successive switch going down the ladder, when connected, produces a current, which, in turn, produces half the output voltage of the switch above it.
For example, when a binary 0000 is transmitted to latches 240, this opens all of the switches and disconnects V.sub.REF from the output. This causes 0 volts to appear at the output of the op-amp 230. A binary signal of 1000 will close switch 202, thus activating the MSB (most significant bit). By Ohm's law, the current flowing through resistor 210 will cause a 5 volt signal to appear at the output. A signal of 0100 open switch 202 and closes switch 204 and results in a 2.5 volt signal at the output.
The primary advantage of the binary ladder design over the resistor-string DAC is its use of resistors having only two resistor values. As a result, it is a simple matter to process virtually any number of bits simply by adding additional "rungs" to the ladder.
The problem discussed above affects the binary ladder DAC with regard to the resistances of analog switches 202, 204, 206 and 208. The switches form part of the R-2R ladder, and connect the appropriate 2R leg to either one of the reference voltages depending on the input digital code. The switch resistances influence the resistor ratio of the R-2R ladder because the switches are in series with the 2R portion of the R-2R ladder network. Effectively, the resistance of the switches is added to the 2R portion of the ladder network. This change in resistor ratio increases the differential non-linearity (the error in each individual step of analog voltage produced by successive digital inputs) and the integral non-linearity (the error over the entire range of analog values produced by the entire range of digital inputs) of the DAC.
Differential and integral non-linearities degrade performance of the DAC and may also cause non-monotonicity. Non-monotonicity occurs when the DAC output does not increase as the digital input code is increased. For example, in a stepped motor controller, non-monotonicity would result in the motor being stepped down rather than up when the digital input is increased. Non-monotonicity is an unacceptable condition for many high-accuracy applications.
One conventional method of reducing the non-linearities created by the switch resistances is to scale the sizes of the switches so there is a constant voltage drop across them. This, however, consumes area and only works to a first order. There can be several second order affects that cannot be compensated for by scaling. In addition, because the switches switch between two different voltages, any voltage dependence in their resistance value introduces mismatches. These mismatches create errors, as described above.
Therefore, it would be desirable to provide a signal processor that was not influenced by the resistance of analog switches used in the signal processor.
It would also be desirable to provide a digital-to-analog converter using an R-2R resistor ladder that was not influenced by the resistance of the switches used in the ladder.